草庐IT

c++ - C++ 中 void 指针的缺点

全部标签

java - java中继承的缺点

谁能解释一下java中继承的缺点 最佳答案 你可能想阅读:EffectiveJava™,第二版作者:约书亚布洛赫第4章类和接口(interface)第16条:优先使用组合而不是继承第17条:继承的设计和文档,否则禁止第18条:优先使用接口(interface)而不是抽象类 关于java-java中继承的缺点,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3150481/

java - 对象关系映射的缺点

我是ORM的粉丝-对象关系映射,在过去一年半的时间里,我一直在将它与Rails结合使用。在此之前,我曾经使用JDBC编写原始查询,并通过存储过程让数据库完成繁重的工作。使用ORM,我最初很乐意做像coach.manager和manager.coaches这样非常简单易读的东西。但随着时间的推移,无数的关联逐渐增加,我最终做了a.b.c.d,它在幕后向各个方向发射查询。使用rails和ruby​​,垃圾收集器变得疯狂并花费疯狂的时间来加载涉及相对较少数据的非常复杂的页面。我不得不用一个简单的存储过程替换这个ORM样式代码,我看到的结果是巨大的。加载需要50秒的页面现在只需2秒。如此巨大的

java - 我如何在 java 中创建对象的副本,而不是指针

假设我有一个我创建的对象。我在其中编辑了一些值,因此它与我引用的新对象()不同。让我们称该对象为f1。现在我希望另一个名为f2的对象是f1的副本而不是指针,这样当我更改f2中的值时,它不会同时更改f1。我将如何在Java中执行此操作? 最佳答案 首先,让你的类(class)实现Cloneable界面。没有这个,调用clone()在你的对象上会抛出异常。接下来,覆盖Object.clone()所以它返回你的特定类型的对象。实现可以简单地是:@OverridepublicMyObjectclone(){return(MyObject)s

java - LinkedHashMap 与 LinkedHashSet 的优缺点是什么?

有人可以解释选择一个而不是另一个的主要好处以及该选择带来的损害吗? 最佳答案 它们解决不同的问题,LinkedHashMap将键映射到值,LinkedHashSet只是存储没有重复的事物的集合。链接HashMap用于映射键/值对——例如,存储姓名和年龄:MapnamesAndAges=newLinkedHashMap();namesAndAges.put("Benson",25);namesAndAges.put("Fred",19);另一方面,链接哈希集用于存储一个事物的集合——名称,例如:Setnames=newLinkedHa

java - 在 Java 中使用任意对象作为映射键有什么缺点吗?

我的应用程序中有两种对象,其中一种对象恰好有一个对应的另一种对象。跟踪这种关系的明显选择是Map,就像一个HashMap。但不知何故,我很怀疑。我可以将一个对象用作Map中的键,传递它,将它也放在另一个集合中,并随时从Map中检索它的伙伴吗?创建对象后,我传递的只是一个标识符,对吧?所以那里可能没问题。如果我对key进行序列化和反序列化会怎样?还有其他注意事项吗?我是否应该使用其他东西来关联对象对,例如我自己生成的数字? 最佳答案 key需要正确实现.equals()和.hashCode()key不得以任何方式更改它作为key使用时

java - 当我在 java 中打印出 **this** 指针时它显示的数字是多少?

这个程序publicclassHelloWorld{publicvoidtestFunc(){System.out.println("Class="+this);}publicstaticvoidmain(String[]args){HelloWorldhw=newHelloWorld();System.out.println("Hello,World");hw.testFunc();}}给我这个输出:Hello,WorldClass=HelloWorld@7c6768第二行HelloWorld后面的@7c6768是什么意思? 最佳答案

java - 在 Selenium 中每个元素使用多个定位器的优缺点?

我正在测试一个仍在开发中的网站。元素的ID、类、文本或DOM中的位置通常会发生变化。然后我一直使用的定位器将无法再找到该元素。但功能仍然正常运行。当没有实际回归时,我不希望多个测试失败。因此,我没有为每个元素使用一个定位器,而是有一个定位器集合。publicstaticfinalArrayListLOGIN_ANCHOR_LOCATORS=newArrayList();static{LOGIN_ANCHOR_LOCATORS.add(By.id("loginLink"));LOGIN_ANCHOR_LOCATORS.add(By.linkText("Login"));LOGIN_ANC

java - 与 Statement 相比,使用 PreparedStatement 有什么缺点吗

我正在研究JDBC中Statement和PreparedStatement之间的差异,并看到了很多优点here和herePreparedStatement与Statement的比较。我的一些同事问为什么我们仍然需要Statement,为什么不反对使用PreparedStatement的优点。那么还有什么理由让我们在JDBCAPI中仍然保留Statement吗? 最佳答案 PreparedStatement用于处理动态SQL查询,其中Statement用于处理静态SQL查询。 关于java

java - 指向 Java LinkedList 节点的指针

我正在以O(1)的时间将n个条目推送到JavaLinkedList。稍后我想在O(1)时删除一些独特的项目。我想保留一个数组,其中包含指向LinkedList中唯一节点的“指针”,以便稍后删除它们。有没有办法在LinkedList或任何其他java类上做到这一点?我尝试将迭代器存储到项目中。所以我可以使用iter.remove()。但我知道当时列表上只能有一个迭代器。我知道一个简单的解决方案是自己实现链接列表。但我宁愿使用LinkedList或其他一些已经实现的Java类。 最佳答案 JavaList实现不提供O(1)删除时的性能*

java - 我应该把 public static void main(String[] args) 方法放在哪里?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我认为它对程序输出没有任何影响,但是我应该把它放在什么类中publicstaticvoidmain(String[]args){//...}我程序中的方法?创建一个单独的类或将它放在一个做其他事情的类中是更好的形式吗?如果我应该把它放在一个做其他事情的类中,哪个类?有关系吗?这实际上只是约定俗成的事情。通常我创建一个单独的类或将其放在处理gui的类中,但我想知道正确的做法。